package com.company.pangu.aliyun.oss.config;

import cn.hutool.core.util.StrUtil;
import lombok.Builder;
import lombok.Data;

import java.io.Serializable;

/**
 * <p>description</p >
 *
 * @author youyoukele
 * @version 1.0
 * @date 2021/8/31
 */
@Data
@Builder
public class OssConfig implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * e.g cn-hangzhou
     */
    private String regionId;

    /**
     * 域
     */
    private String endPoint;

    /**
     * 角色
     */
    private String roleArn;

    /**
     * 用来标识临时访问凭证的名称，建议使用不同的应用程序用户来区分
     * <p>
     * e.g abcd
     */
    private String roleSessionName;

    /**
     * 存储桶
     */
    private String bucketName;

    /**
     * Key
     */
    private String accessKeyId;

    /**
     * 秘钥
     */
    private String accessKeySecret;

    /**
     * cdn地址
     */
    private String cdnAddr;

    /**
     * oss 前缀
     *
     * @return
     */
    public String getOssPrefix() {
        return StrUtil.format("{}{}.{}", "https://", getBucketName(), getEndPoint());
    }
}
